"""
author：Yanna
time：2024.12.25
逍遥9 高级手势按下，抬起，轻敲，移动，长按，等待，点击
设置手机锁屏解锁手机
"""
import time

from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction

des_cap = {}
# 告诉appium服务器，你要连接的模拟器的平台是安卓
des_cap['platformName'] = 'android'
# 安卓的版本是9
des_cap['platformVersion'] = '9'
# 连接的设备名称，如果只有一个设备，可以用*****
des_cap['deviceName'] = '127.0.0.1:21503'
# 要打开的APP的包名
des_cap['appPackage'] = 'com.android.settings'
# app的界面名
des_cap['appActivity'] = '.Settings'
# 初始化
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',
                          desired_capabilities=des_cap)
time.sleep(2)
# 安全性点击
# driver.find_element_by_id('android:id/icon').click()
driver.find_element_by_xpath("//*[@text='安全性和位置信息']").click()

# 点击屏幕锁定
# driver.find_element_by_id('android:id/title').click()
driver.find_element_by_xpath("//*[@text='屏幕锁定']").click()

# 点击图案
driver.find_element_by_xpath("//*[@text='图案']").click()
time.sleep(2)
# 创建手势对象
action = TouchAction(driver)

action.press(x=225,y=590).move_to(x=560, y=590).move_to(x=550,y=925).release().perform()
time.sleep(2)
# 点击下一步
driver.find_element_by_xpath("//*[@text='下一步']").click()
time.sleep(2)
# 点击坐标 滑动 释放 执行
action.press(x=225,y=590).move_to(x=560, y=590).move_to(x=550,y=925).release().perform()
time.sleep(2)
# 点击确认
driver.find_element_by_xpath("//*[@text='确认']").click()
time.sleep(1)
driver.find_element_by_xpath("//*[@text='完成']").click()
# 回到首页
driver.close_app()

# 按下电源键git
driver.press_keycode(26)
time.sleep(3)
driver.press_keycode(26)
time.sleep(3)
# 获取屏幕尺寸
w = driver.get_window_size()['width']
h = driver.get_window_size()['height']
# 屏幕滑动
driver.swipe(start_x=w/2,end_x=w/2, start_y=h*0.9, end_y=h*0.1)
time.sleep(2)
print('解锁手机')
# 点击坐标 移动 等待 释放 执行
action.press(x=228, y=806).move_to(x=562, y=806).move_to(x=553, y=1135).wait(1000).release().perform()
print('结束')
